suma( X, Y, Z ) :- var(Z), Z is X+Y.
suma( X, Y, Z ) :- var(Y), Y is Z-X.
suma( X, Y, Z ) :- var(X), X is Z-Y.

resta( X, Y, Z ) :- suma( Y, Z, X ).

inc( X, Y ) :- suma( X, 1, Y ).
dec( X, Y ) :- resta( X, 1, Y ).

equal( X, X ).

max( A, B, A ) :- A > B, !.
max( _, B, B ).

min( A, B, A ) :- A < B, !.
min( _, B, B ).